<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../lib/layui-v2.6.3/css/layui.css" media="all">
    <link rel="stylesheet" href="../../css/public.css" media="all">
    <style>
        body {
            background-color: #ffffff;
        }
    </style>
</head>
<body>
<div class="layui-form layuimini-form" lay-filter="userForm">
    <input type="hidden" name="id" >
    <div class="layui-form-item">
        <label class="layui-form-label required">用户名</label>
        <div class="layui-input-block">
            <input type="text" name="username" lay-verify="required"  readonly lay-reqtext="用户名不能为空" placeholder="请输入用户名" value="" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label required">性别</label>
        <div class="layui-input-block">
            <input type="radio" name="sex" value="1" title="男" checked="">
            <input type="radio" name="sex" value="2" title="女">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label required">手机</label>
        <div class="layui-input-block">
            <input type="text" name="tel" lay-verify="required" lay-reqtext="手机不能为空" placeholder="请输入手机" value="" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">城市</label>
        <div class="layui-input-block">
            <input type="text" name="city" lay-verify="required"  placeholder="请输入城市" value="" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">角色</label>
        <div class="layui-input-block">
            <div id="role" class="xm-select-demo"></div>
        </div>
    </div>
    <div class="layui-form-item">
        <div class="layui-input-block">
            <button class="layui-btn layui-btn-normal" lay-submit lay-filter="saveBtn">确认保存</button>
        </div>
    </div>
</div>
<script src="../../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script>
    layui.extend({
        xmSelect:'/extend/xm-select'
    }).use(['form','xmSelect'], function () {
        var form = layui.form,
            layer = layui.layer,
            xmSelect = layui.xmSelect,
            $ = layui.$;

        // 渲染下拉选
        let roleSelect = xmSelect.render({
            el: '#role',
            layVerify:'required',
            data: []   // {name: ,value: }
        })

        // 发送异步请求   查询所有的角色
        $.get('/role/all',function (res) {
            let  dt =  res.data   // 所有的角色信息   [ {roleId:  ,roleName:  }]
            let array = []
            for (let i = 0; i < dt.length; i++) {
                let obj = {};
                obj.name = dt[i].comments
                obj.value= dt[i].roleId
                array.push(obj)
            }

            // 根据用户id 查询用户信息  回显数据
            let id = sessionStorage.getItem("userId");
            sessionStorage.removeItem("userId");
            let roleIds ; //{id:id}  ES6
            $.get("/user/getById",{id},function (res) {
                if(res.code==0){
                    //回显表单数据
                    form.val('userForm',res.data)
                    // 获取角色id  渲染下拉选
                    roleIds =  res.data.roleIds
                    //  更新下拉选
                    roleSelect.update({
                        data: array,
                        initValue: roleIds,// 设置下拉选的默认选中
                        autoRow: true,
                    })
                    // 重新渲染表单
                    form.render()
                }
            })

        })

        //监听提交
        form.on('submit(saveBtn)', function (data) {
            let  roleIds=   roleSelect.getValue('value')
            data.field.roleIds = roleIds;
            let user_json  =  JSON.stringify(data.field);

            // 发送ajax请求  参数格式  json
            $.ajax({
                url:'/user/update',
                type:'post',
                data:user_json,
                contentType:'application/json;charset=utf-8',   //  参数格式的声明  json
                dataType:'JSON',
                success:function (res) {
                    if(res.code==0){
                        layer.msg(res.msg,function () {
                            //关闭弹窗
                            var iframeIndex = parent.layer.getFrameIndex(window.name);
                            parent.layer.close(iframeIndex);
                            // 刷新父页面中的table
                            parent.layui.table.reload("currentTableId");
                        })
                    }else {
                        layer.msg(res.msg);
                    }
                }
            })

            return false;
        });

    });
</script>
</body>
</html>